#ifndef __LOG__
#define __LOG__
#include "driver/pl031/time.h"

typedef enum {
    Trace,
    Debug,
    Info,
    Warn,
    Error,
}LogLevel;

#define enumToStr(arg)  #arg

#define error(format, ...) do {             \
    log(Error, format, __VA_ARGS__);        \
}while(0);                                  \

#define info(format, ...) do {              \
    log(Info, format, __VA_ARGS__);         \
}while(0);                                  \

#define debug(format, ...) do {             \
    log(Debug, format, __VA_ARGS__);        \
}while(0);                                  \

#define trace(format, ...) do {             \
    log(Trace, format, __VA_ARGS__);        \
}while(0);                                  \

#define warn(format, ...) do {              \
    log(Warn, format, __VA_ARGS__);         \
}while(0);                                  \


  

#endif /* __LOG__ */